# Как сохранить материалы?

## Метод 1

_Сложность: средняя (для пользователей десктопов)_

1. Устанавливаем Python 3.7+ и Git. На Linux есть `apt-get` (или что там), на OSX есть [`homebrew`](https://brew.sh/), под Windows есть [`chocolatey`](https://chocolatey.org/install).

2. [Клонируем репозиторий](https://github.com/limitedeternity/foxford_courses/archive/master.zip), распаковываем, переходим в папку, где лежит **этот** гайд.

3. Открываем **здесь** терминал и выполняем `pip install -Ur requirements.txt`. (На Linux/OSX - `pip3 install -Ur requirements.txt`)

4. Выполняем `python fdl.py` (На Linux/OSX - `python3 fdl.py`).

5. Логинимся, выбираем курс и скачиваемые материалы.

6. Всё.

### Примечания:

- Это метод для скачивания всего необходимого.

- Есть возобновление процесса. Нужно удалить поврежденные материалы и запустить `fdl.py` снова.

- Если во время скачивания выдало ошибку, нужно остановить выполнение программы, нажав в терминале `Ctrl + C`, и перезапустить `fdl.py`.

- Для проверки целостности **обязательно** запускай `fdl.py` повторно до тех пор, пока программа не завершится "со всеми галочками" и без ошибок.

## Метод 2

_Сложность: средняя (для любителей эмуляторов)_

1. [Устаналиваем MEmu](https://www.memuplay.com/).

2. [Включаем Root-права](https://youtu.be/UYl5zPSnugA).

3. Устанавливаем приложение Фоксфорд.Курсы.

4. Логинимся, выбираем курс, жмем рядом с уроком кнопочку, как бы намекающую на "Скачать".

5. [Устанавливаем Root Browser](https://play.google.com/store/apps/details?id=com.jrummy.root.browserfree).

6. Переходим в `/data/data/ru.foxford.webinars`, ищем .mp4 файлы, копируем их в `/storage/emulated/0/Download/`.

7. [Забираем на ПК](https://www.memuplay.com/blog/2016/06/04/how-to-share-file-between-android-and-windows/).

### Примечания:

- Это метод для скачивания видео

# Чейнджлог (Крупные апдейты)

## 18.06.2017 (v1)

Реализована первая версия методом "проб и ошибок".

С помощью расширения (https://chrome.google.com/webstore/detail/network-sniffer/coblekblkacfilmgdghecpekhadldjfj) необходимо перехватить момент перехода к видео. Нажав на поле со ссылкой, соответствующей видео, откроется поле, где в Request Headers будет параметр Cookie.

В скрипт вводится 2 значения: адрес видео и куки. На выходе получается файл b64.html, в котором находится ссылка, при переходе по которой происходило перенаправление на плеер, выдающий mp4, который качался с помощью расширения (https://chrome.google.com/webstore/detail/video-downloader-pro/ilppkoakomgpcblpemgbloapenijdcho).

(Отдельное спасибо _Paravozik_Lesha_ за тестирование пре-релизной версии и терпение моего характера c: )

---

## 21.06.2017 (v2)

Реализована полу-автоматическая система.

Вбивается ссылка на видео и человека перенаправляет сразу в плеер, где с помощью нажатия "Сохранить как..." можно сохранить вебинар на диск (логично).

Примерно тогда же была реализована система сохранения ДЗ.

---

## 30.07.2017 (v3)

Реализована полная автоматика и какой-никакой интерфейс.

Все скрипты были объединены в один.

Перевод на русский язык (да-да, наканецта).

Загрузка курсов была переписана _Stanley Kowalski_. Пришлось много чинить, конечно, но это не отменяет моего "спасиба" за факт реализации "другим способом" и то, что именно он подтолкнул меня на объединение обоих скриптов.

---

## 05.08.2017 (v4)

Исправлено множество ошибок.

Разделение на модули для легкости починки.

Добавлено сохранение теории и ДЗ.

Объединение всех действий в единый оператор. За один проход теперь можно скачать весь материал полностью.

Сделан режим "только видео" и сортировка материала. (Отдельное спасибо _@kuzminovdmit_)

Добавлено возобновление загрузки на случай, если что-то пойдет не так, чтобы не ждать по-новой. Необходимо просто выбрать после перезапуска пункт меню, который выбирался до этого.

Создание файла "video.skips", содержащего число, приведет к пропуску видео на соответствующее число. (0 - Вводное занятие, 1 - Первое + Вводное ...)

---

## 25.12.2017 (v5)

Перенесен на Node.js. Прекращена поддержка сохранения ДЗ.

---

## 29.08.2018 (v5.5)

Скомпилирован. Проведена работа над дизайном.

---

## 29.01.2019 (v5.6)

Возвращение легенды - автоматическое сохранение ДЗ.

---

## 16.07.2019 (v6)

FDL, написанный на Node.js, был переименован в HWDL и сделан утилитой для сохранения ДЗ.

Сам же скрипт и его алгоритмическая составляющая были переписаны на Python 3.7.

Добавлено сохранение сообщений из чата и презентаций.

---

## 07.08.2019 (v6.5)

HWDL, написанный на Node.js, был удалён, а его функционал - встроен в FDL.

---

_Текущая версия_: **v6.5**

---

- _Идея, поддержка и написание: `limitedeternity`_

- _Тестирование и идеи: `Stanley Kowalski` и `Paravozik_Lesha` (v1-v3)_

- _VideoDownloader(): `Stanley Kowalski` (v3)_

(Специально для [2ch.hk/un/](https://2ch.hk/un/))
